-
Notifications
You must be signed in to change notification settings - Fork 7.6k
enhance GIC v3 ITS and enable it on i.MX 95 EVK A55 platform #92346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
JiafeiPan
wants to merge
10
commits into
zephyrproject-rtos:main
Choose a base branch
from
nxp-upstream:develop/imx95-netc-gic
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
enhance GIC v3 ITS and enable it on i.MX 95 EVK A55 platform #92346
JiafeiPan
wants to merge
10
commits into
zephyrproject-rtos:main
from
nxp-upstream:develop/imx95-netc-gic
+167
−20
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Collaborator
JiafeiPan
commented
Jun 28, 2025
- Enabled DMA noncoherent for GIC v3 and GIC v3 ITS
- Fixed some bugs for GIC v3 ITS
- Enabled GIC ITS on i.MX 95 EVK A55 platform
- Added i.MX 95 EVK support for test arm64_gicv3_its
|
GIC redistributor on Some platform are connected to a non-coherent downstream interconnect, it need to use Non-cahable and Non-shareable access atttributes to access external memory. And also flush the data cache after CPU update related memory. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Add DMA noncoherent support on GICv3 ITS driver. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
For RDbase used by its command, When GITS_TYPER.PTA = 1, physicall address is used, the RDbase field consist of bits[51:16] of the address, so need to left shift the address by 16 bits. But when GITS_TYPER.PTA = 0, PE number is used, no need to shit anymore. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
GIC v3 ITS is initialized in pre-kernel stage in which sleep function can't work yet, so use busy delay in pre-kernel stage and use sleep delay in post-kernel stage. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Enlarge the memory size to 10M bytes as it is not enough if run some networking application. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Added dts node for GIC v3 ITS. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
In case of ITS is enabled, need to include LPI in the total number of irq. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
GIC redistribute on i.MX 95 is DMA noncoherent, so enable CONFIG_GIC_V3_RDIST_DMA_NONCOHERENT. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
GIC ITS depends on kernel heap, so move GIC initialize to be behind of heap which initialization priority is CONFIG_KERNEL_INIT_PRIORITY_OBJECTS (it is 30 by default). MU mailbox and SCMI objects depend on GIC, so set their init priority to be same with GIC, the initialization sequence decided by the dts dependency although they use the same init priority. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Add imx95_evk support, as hardware limication, it only has 832 LPIs. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area: ARM64
ARM (64-bit) Architecture
area: Interrupt Controller
platform: ARM
Arm Limited
platform: NXP MPU
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.